// import { Component } from 'react';
// import PropTypes from 'prop-types';
// import { ContContext } from '../context/contContext';

const myConnect =
    // (mapStateToProps = state => state, mapDispatchToProps = {}) =>
    // WrapComponent =>
    () => (
        // //直接返回一个高阶组件
        //  class ConnectComponent extends Component{
        //     //必须定义接受全局的store的类型  provider组件提供
        //     static contextTypes = ContContext;
        //     constructor(props){
        //         super(props) ;
        //         this.state={
        //             props:{}
        //         }
        //     }
        //     // 组件初始化完成之后，把store里面的内容注入到props里；
        //     componentDidMount(){
        //         const {store}=this.context;
        //         //subscribe接受一个函数；我们当前函数就是 去执行this.update()调用，来达到更新；
        //         // 我们只要dispatch的动作，就会全部执行一遍subscribe的函数，来更新一遍数据；
        //         store.subscribe(()=>this.update());
        //         this.update();
        //     }
        //     //获取mapStateToProps和mapDispatchToProps；放入到props里；
        //     update(){
        //         //定义dispatch每个actionCreator的工具函数
        //         function bindActionCreator(creator,dispatch) {
        //             //透传；就是如果creator有设置参数，直接通通...args解构掉，传过去；
        //             return (...args)=>dispatch(creator(...args))
        //         }
        //         //定义dispatch过后每个actionCreator的对象集合工具函数
        //         function bindActionCreators(creators,dispatch) {
        //             return Object.keys(creators).reduce((rel,item)=>{
        //                 rel[item]=bindActionCreator(creators[item],dispatch)
        //                 return  rel;
        //             },{})
        //         }

        //         //拿到公共上下文的store；
        //         const {store}=this.context;

        //         //store.getState()当前调用了拿到state；然后根据mapStateToProps的解构规则；返回state的对应值---stateProps；
        //         const stateProps=mapStateToProps(store.getState());
        //         // 把mapDispatchToProps用dispatch调用一下来传入的actionCreator对象里的每一个方法；用bindActionCreators实现
        //         const dispatchProps=bindActionCreators(mapDispatchToProps,store.dispatch);
        //         //这样就把stateProps,dispatchProps 注入进 props ，并且触发渲染；
        //         this.setState({props:{...this.state.props,...dispatchProps,...stateProps}});

        //     }
        //     render(){
        //         return <WrapComponent {...this.state.props}  />
        //     }
        // }
        <div>花花</div>
    );
export default myConnect;
